Many wireless and wireline communication standards use block coding schemes (or algorithms) to increase the performance of channel decoding operations. One very popular block coding scheme is the turbo coding algorithm, which is implemented in many cellular standard receivers and WiMax receivers. Turbo coding is a powerful forward error correction (FEC) algorithm that achieves a coding gain close to the Shannon limit. Turbo encoders and turbo decoders have been adopted for use in the physical layers of a number of wireless standards, including WCDMA, CDMA2000, IEEE-802.16e (i.e., WiBro) and others.
A software-defined radio (SDR) device uses reconfigurable hardware that may be programmed over-the-air to operate under different wireless standards. For example, an SDR transceiver in a wireless laptop computer or PDA may be configured by different software loads to operate in an IEEE-802.11x wireless network, a CDMA2000 wireless network, an OFDM/OFDMA wireless network, a GSM wireless network, or other types of networks. Many of these wireless standards require encoders and decoders, including turbo encoders and decoders, that are capable of being reconfigured according the selected wireless standard.
However, the performance of a turbo decoder is highly dependent on the interleaver (I/L) method of the coded bits. Each wireless (or wireline) standard defines different methods to calculate (or perform) the interleaver function. By way of example, the interleaver address is used to determine the lambda location in the interleaved maximum aposteriori probability (MAP) session.
Conventional turbo decoders incorporate a MAP decoder that is coupled to the interleaver block. There are a number of conventional methods to implement the interleaver block, such as by an interleaver hardware (HW) machine or an interleaver memory look-up table (LUT). Conventional turbo decoder implementations select one of those ways and define a special handshake or interface between the MAP decoder and the interleaver block. Because different turbo code solutions and different interleaver functions are implemented in different standards, each interleaver interface (I/F) is different from the other interleaver interfaces. Thus, the interface for an interleaver hardware machine would not be able to couple to a MAP decoder that is suited to an interleaver memory LUT, and vice versa. This creates a problem in the case of a unified SDR turbo (MAP) decoder that supports multi-standards with multi-block sizes, since the same unified SDR MAP decoder interface may not be coupled to both an interleaver hardware machine and an interleaver memory look-up table (LUT).
Therefore, there is a need in the art for an improved interleaver interface for use in a reconfigurable decoder in a software-defined radio (SDR) system. In particular, there is a need for an interleaver interface that couples to a reconfigurable turbo decoder that operates under different wireless standards.